import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";

const routes: Array<RouteRecordRaw> = [
    {
        path: "/",
        redirect: "/recommendMusic",
    },
    // 重定向写法
    {
        path: "/:pathMatch(.*)*", // 是一个路由配置的一部分，通常用于捕获所有不匹配其他路由的路径。

        //访问主页的时候 重定向到home页面
        redirect: "/",
    },
    // 1）:pathMatch
    // 是一个路由参数，它可以匹配路径中的任何部分，并将其作为参数传递给相应的路由组件或者处理函数。
    // 2）(.*)*
    // 其中 .* 表示匹配任意字符零次或者多次，而 * 表示前面的表达式可以重复任意次数。这样就确保了匹配任何路径。

    {
        path: '/recommendMusic',
        name: '推荐音乐',
        component: () => import('../view/home/recommendMusic.vue'),
        meta: {
            title: "推荐音乐",
            tabbarIndex: 0,
        },
    },
    {
        path: '/hotSongs',
        name: '热歌榜',
        component: () => import('../view/home/hotSongs.vue'),
        meta: {
            title: "热歌榜",
            tabbarIndex: 1,
        },
    },
    {
        path: '/search',
        name: '搜索',
        component: () => import('../view/home/search.vue'),
        meta: {
            title: "搜索",
            tabbarIndex: 2,
        },
    },
    {
        path: '/artistPage',
        name: 'artistPage',
        component: () => import('../view/artistPage.vue'),
        meta: {
            title: '歌手详情',
            isShow: true,
        }
    },
    {
        path: '/musicList',
        name: 'musicList',
        component: () => import('../view/musicList.vue'),
        meta: {
            title: '音乐列表',
            isShow: true,
        }
    },
    {
        path: '/collectionPage',
        name: 'collectionPage',
        component: () => import('../view/collectionPage.vue'),
        meta: {
            title: '音乐专辑',
            isShow: true,
        }
    },
    {
        path: '/musicPlay',
        name: 'musicPlay',
        component: () => import('../view/musicPlay.vue'),
        meta: {
            title: '音乐播放',
            isShow: true,
        }
    },
    {
        path: '/test',
        name: 'test',
        component: () => import('../view/test.vue'),
        meta: {
            title: '练习',
            isShow: true,
        }
    },
    {
        path: '/note',
        name: 'note',
        component: () => import('../view/note.vue'),
        meta: {
            title: '记录',
            isShow: true,
        }
    },
];

const router = createRouter({
    history: createWebHistory(),
    routes,
});

export default router;